/*
 * Interaction.h
 *
 *  Created on: Mar 2, 2011
 *      Author: wjfortin
 */
#ifndef INTERACTION_H_
#define INTERACTION_H_

class Interaction;

#include "../data/Molecule.h"
#include "../org/Term.h"

using namespace std;

class Interaction {
public:
	Interaction(Quantity*, double, double, const char*);
	Interaction(double, double, double, const char*);
	virtual ~Interaction();

	double getRate();
	double getRate(int);
	void setRate(double);
	double getSubstrateFactor();
	double getProductFactor();

	Term* getTerm();

	void setProductFactor(double);

	const char* name;

private:
	Term* rate;
	double substrateFactor;
	double productFactor;
};

#endif /* INTERACTION_H_ */
